with v8.Class_Primitive;
package v8.Class_Boolean is
   type Boolean (<>) is new v8.Class_Primitive.Primitive with private;
   type Pointer is access all v8.Class_Boolean.Boolean;
 -- A primitive boolean value (ECMA-262, 4.3.14).  Either the true
 -- or false value.

   function Value (this : v8.Class_Boolean.Boolean) return bool;


   function Constant_True  return Pointer;
   -- js : true

   function Constant_False return Pointer;
   -- js : false


   function Create (value : bool) return Pointer;

private

   type Boolean is new v8.Class_Primitive.Primitive with null record;


   pragma Import (CPP, Value, "_ZNK2v87Boolean5ValueEv");
   pragma Import (CPP, Constant_True, "_ZN2v84TrueEv");
   pragma Import (CPP, Constant_False, "_ZN2v85FalseEv");

end v8.Class_Boolean;
